1. Field of the Invention
This invention relates to microprocessor system and, more particularly, to a microprocessor system adapted to dynamically swap memory bank addresses and a method therefor.
2. Description of the Related Art
A microprocessor system includes both non-volatile, read only, memory banks, e.g., read only memory (ROM), and volatile, writable, memory banks, e.g., dynamic random access memory (DRAM). The ROM bank is typically placed at a memory map location that corresponds to the microprocessor""s boot vector. That is, the microprocessor system executes from the ROM bank at boot up. In some cases, the microprocessor system requires this same memory location to be writable, e.g., when programs or interrupts are loaded dynamically, when debuggers require the program to be modifiable, or when the operating system is virtually addressed. This creates a situation during boot up where predetermined memory bank addresses are read only but must be writable immediately after boot up.
A solution to this problem is described in ARM(copyright) Limited""s Reference Peripheral Specification, document number ARM DDI 0062D, issued May 1996. There, the DRAM bank is located in memory to coincide with the processor""s boot vector. The ROM bank is located at an entirely separate memory location. At boot up, the ROM bank is aliased over the DRAM bank until the microprocessor can establish execution at another ROM location through jump or branch instructions. Continued boot up in the ROM bank might result in slower program execution since the ROM bank is typically slower than other forms of memory, e.g., the DRAM bank.
Accordingly, a need remains for a microprocessor system adapted to improve performance.